JSON Tree Model কি এবং এর ভূমিকা

Java Technologies - জ্যাকসন (Jackson) - JSON Tree Model ব্যবহার
196

Jackson লাইব্রেরির একটি গুরুত্বপূর্ণ ফিচার হলো JSON Tree Model, যা JSON ডেটার সাথে কাজ করার জন্য একটি নমনীয় ও গতিশীল উপায় প্রদান করে। এটি ObjectMapper-এর মাধ্যমে JSON ডেটাকে একটি "গাছের মতো স্ট্রাকচার" (tree-like structure) হিসেবে মডেল করে। এর সাহায্যে আপনি JSON ডেটার বিভিন্ন অংশ সরাসরি অ্যাক্সেস, সংশোধন, বা নতুন নোড যুক্ত করতে পারেন।


JSON Tree Model কিভাবে কাজ করে?

Jackson-এর JsonNode ক্লাস Tree Model তৈরি করে। এই মডেলটি JSON ডেটাকে একটি node-based structure হিসেবে উপস্থাপন করে, যেখানে প্রতিটি নোড JSON ডেটার একটি অংশ (যেমন, object, array, value) উপস্থাপন করে।

মূল বৈশিষ্ট্য:

  1. ডাইনামিক প্রক্রিয়াকরণ: Tree Model ব্যবহার করে JSON ডেটার সাথে সরাসরি ইন্টারঅ্যাক্ট করা যায়, যেটা POJO বা ক্লাস মডেল ছাড়াই কাজ করে।
  2. নেস্টেড ডেটা পরিচালনা: নেস্টেড JSON ডেটার ক্ষেত্রে Tree Model অনেক সহজ এবং কার্যকর।
  3. ডেটা ম্যানিপুলেশন: Tree Model JSON ডেটা পড়া, লেখা, এবং সম্পাদনার জন্য আদর্শ।

JSON Tree Model ব্যবহার করার ধাপসমূহ

  1. JSON ডেটা Tree Model-এ রূপান্তর:
    ObjectMapper ক্লাসের মাধ্যমে JSON ডেটাকে Tree Model-এ রূপান্তর করতে readTree() মেথড ব্যবহার করা হয়।
  2. ডেটা অ্যাক্সেস:
    Tree Model-এর মাধ্যমে JsonNode ক্লাস ব্যবহার করে JSON ডেটা অ্যাক্সেস এবং সংশোধন করা যায়।
  3. ডেটা পরিবর্তন করে JSON-এ রূপান্তর:
    Tree Model থেকে পরিবর্তিত ডেটাকে JSON ফর্ম্যাটে রূপান্তর করতে writeValueAsString() ব্যবহার করা হয়।

উদাহরণ:

১. JSON Tree Model তৈরি এবং ডেটা অ্যাক্সেস করা:

import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;

public class JsonTreeModelExample {
    public static void main(String[] args) throws Exception {
        String json = """
        {
            "id": 101,
            "name": "John Doe",
            "address": {
                "city": "Dhaka",
                "country": "Bangladesh"
            },
            "skills": ["Java", "Spring", "Jackson"]
        }
        """;

        // ObjectMapper ব্যবহার করে Tree Model তৈরি
        ObjectMapper objectMapper = new ObjectMapper();
        JsonNode rootNode = objectMapper.readTree(json);

        // ডেটা অ্যাক্সেস করা
        int id = rootNode.get("id").asInt();
        String name = rootNode.get("name").asText();
        String city = rootNode.get("address").get("city").asText();

        System.out.println("ID: " + id);
        System.out.println("Name: " + name);
        System.out.println("City: " + city);

        // Array ডেটা অ্যাক্সেস
        JsonNode skillsNode = rootNode.get("skills");
        for (JsonNode skill : skillsNode) {
            System.out.println("Skill: " + skill.asText());
        }
    }
}

আউটপুট:

ID: 101
Name: John Doe
City: Dhaka
Skill: Java
Skill: Spring
Skill: Jackson

২. JSON Tree Model-এ ডেটা পরিবর্তন:

import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.node.ObjectNode;

public class JsonTreeModelModification {
    public static void main(String[] args) throws Exception {
        String json = """
        {
            "id": 101,
            "name": "John Doe",
            "address": {
                "city": "Dhaka",
                "country": "Bangladesh"
            }
        }
        """;

        // ObjectMapper ব্যবহার করে Tree Model তৈরি
        ObjectMapper objectMapper = new ObjectMapper();
        JsonNode rootNode = objectMapper.readTree(json);

        // ডেটা পরিবর্তন
        ((ObjectNode) rootNode).put("name", "Jane Doe"); // নাম পরিবর্তন
        ((ObjectNode) rootNode).put("age", 30); // নতুন ফিল্ড যুক্ত

        // JSON-এ রূপান্তর এবং প্রিন্ট
        String modifiedJson = objectMapper.writeValueAsString(rootNode);
        System.out.println(modifiedJson);
    }
}

আউটপুট:

{
  "id": 101,
  "name": "Jane Doe",
  "address": {
    "city": "Dhaka",
    "country": "Bangladesh"
  },
  "age": 30
}

JSON Tree Model-এর ভূমিকা

  1. ডাইনামিক ডেটা প্রসেসিং: JSON Tree Model ব্যবহার করে ডেটা ক্লাস মডেল ছাড়াই সরাসরি পরিচালনা করা যায়।
  2. কমপ্লেক্স নেস্টেড স্ট্রাকচার: নেস্টেড JSON ডেটার জন্য Tree Model একটি কার্যকর পদ্ধতি।
  3. ডেটা ম্যানিপুলেশন: Tree Model সহজে JSON ডেটা যোগ, মুছে ফেলা, বা পরিবর্তন করার ক্ষমতা প্রদান করে।
  4. ডেটা বিশ্লেষণ: Tree Model ডেটার বিভিন্ন অংশ বিশ্লেষণ বা অ্যাক্সেস করার জন্য আদর্শ।

JSON Tree Model একটি ফ্লেক্সিবল এবং শক্তিশালী টুল, যা Jackson-এর মাধ্যমে JSON ডেটা পরিচালনা করার সময় উন্নত নিয়ন্ত্রণ ও গতিশীলতা প্রদান করে। এটি বিশেষভাবে উপযোগী যখন JSON ডেটা পরিবর্তন বা বিশ্লেষণের প্রয়োজন হয়।

Content added By
Promotion
NEW SATT AI এখন আপনাকে সাহায্য করতে পারে।

Are you sure to start over?

Loading...